styleprovider: Add a private signal for when things change
authorBenjamin Otte <otte@redhat.com>
Sun, 8 Apr 2012 15:33:22 +0000 (17:33 +0200)
committerBenjamin Otte <otte@redhat.com>
Tue, 17 Apr 2012 06:59:21 +0000 (08:59 +0200)
gtk/gtkstyleproviderprivate.c
gtk/gtkstyleproviderprivate.h

index fc7e29862e25278eb9c709fbff9edfd8746c66d0..a646201950da5e12ecbe607170c16f750a089a0b 100644 (file)
 #include "config.h"
 
 #include "gtkstyleproviderprivate.h"
+
+#include "gtkintl.h"
 #include "gtkstyleprovider.h"
 
+enum {
+  CHANGED,
+  LAST_SIGNAL
+};
+
 G_DEFINE_INTERFACE (GtkStyleProviderPrivate, _gtk_style_provider_private, GTK_TYPE_STYLE_PROVIDER)
 
+guint signals[LAST_SIGNAL];
+
 static void
 _gtk_style_provider_private_default_init (GtkStyleProviderPrivateInterface *iface)
 {
+  signals[CHANGED] = g_signal_new (I_("-gtk-private-changed"),
+                                   G_TYPE_FROM_INTERFACE (iface),
+                                   G_SIGNAL_RUN_LAST,
+                                   G_STRUCT_OFFSET (GtkStyleProviderPrivateInterface, changed),
+                                   NULL, NULL,
+                                   g_cclosure_marshal_VOID__VOID,
+                                   G_TYPE_NONE, 0);
+
 }
 
 GtkSymbolicColor *
@@ -78,3 +95,12 @@ _gtk_style_provider_private_get_change (GtkStyleProviderPrivate *provider,
 
   return iface->get_change (provider, matcher);
 }
+
+void
+_gtk_style_provider_private_changed (GtkStyleProviderPrivate *provider)
+{
+  g_return_if_fail (GTK_IS_STYLE_PROVIDER_PRIVATE (provider));
+
+  g_signal_emit (provider, signals[CHANGED], 0);
+}
+
index 88b64a03b3d57dd75b9914f5de34058943bbbcb7..0a66a8e592bc42664904bfb5c32244b633bb9273 100644 (file)
@@ -46,6 +46,9 @@ struct _GtkStyleProviderPrivateInterface
                                                  GtkCssLookup            *lookup);
   GtkCssChange          (* get_change)          (GtkStyleProviderPrivate *provider,
                                                  const GtkCssMatcher     *matcher);
+
+  /* signal */
+  void                  (* changed)             (GtkStyleProviderPrivate *provider);
 };
 
 GType                   _gtk_style_provider_private_get_type     (void) G_GNUC_CONST;
@@ -58,6 +61,8 @@ void                    _gtk_style_provider_private_lookup       (GtkStyleProvid
 GtkCssChange            _gtk_style_provider_private_get_change   (GtkStyleProviderPrivate *provider,
                                                                   const GtkCssMatcher     *matcher);
 
+void                    _gtk_style_provider_private_changed      (GtkStyleProviderPrivate *provider);
+
 G_END_DECLS
 
 #endif /* __GTK_STYLE_PROVIDER_PRIVATE_H__ */